Apache POI লাইব্রেরির XWPFDocument ক্লাস ব্যবহার করে আপনি সহজেই Word ডকুমেন্ট (.docx ফাইল) তৈরি করতে পারেন। এই ক্লাসটি Apache POI's XWPF (XML Word Processing Format) এর অংশ এবং এটি মূলত Microsoft Word 2007 এবং তার পরবর্তী সংস্করণের .docx ফাইল ফরম্যাটের জন্য ব্যবহৃত হয়। XWPFDocument ক্লাসটি প্যারাগ্রাফ, টেবিল, ছবি, শিরোনাম, এবং আরও অনেক উপাদান তৈরি ও সম্পাদনা করার ক্ষমতা প্রদান করে।
এখানে একটি সাধারণ উদাহরণ দেওয়া হলো যেখানে XWPFDocument ক্লাস ব্যবহার করে একটি নতুন Word ডকুমেন্ট তৈরি করা হয়েছে।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateWordDocument {
public static void main(String[] args) throws IOException {
// নতুন XWPFDocument (Word ডকুমেন্ট) তৈরি
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// প্যারাগ্রাফে টেক্সট যোগ করা
XWPFRun run = paragraph.createRun();
run.setText("Hello, this is a Word document created using Apache POI!");
// Word ডকুমেন্ট ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("example_word_document.docx")) {
document.write(out);
}
System.out.println("Word ফাইল সফলভাবে তৈরি হয়েছে!");
}
}
এই কোডটি চালানোর পর, example_word_document.docx নামক একটি নতুন Word ডকুমেন্ট তৈরি হবে, যেখানে একটি প্যারাগ্রাফ থাকবে এবং সেটির মধ্যে টেক্সট থাকবে: "Hello, this is a Word document created using Apache POI!"
আপনি XWPFRun এর মাধ্যমে ফন্টের স্টাইল, সাইজ, এবং অন্যান্য ফরম্যাটিং পরিবর্তন করতে পারেন।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
public class StyledWordDocument {
public static void main(String[] args) throws IOException {
// নতুন XWPFDocument (Word ডকুমেন্ট) তৈরি
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// টেক্সট যোগ করা এবং তার স্টাইল পরিবর্তন করা
XWPFRun run = paragraph.createRun();
run.setText("Hello, this is a styled Word document!");
run.setFontSize(14); // ফন্ট সাইজ ১৪
run.setBold(true); // বোল্ড ফন্ট
run.setItalic(true); // ইটালিক ফন্ট
run.setFontFamily("Arial"); // ফন্ট ফ্যামিলি
// Word ডকুমেন্ট ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("styled_word_document.docx")) {
document.write(out);
}
System.out.println("Styled Word ফাইল সফলভাবে তৈরি হয়েছে!");
}
}
এই কোডের মাধ্যমে আপনি একটি সজ্জিত Word ডকুমেন্ট তৈরি করতে পারবেন, যেখানে টেক্সট বোল্ড এবং ইটালিক স্টাইলের হবে।
XWPFDocument ক্লাসের মাধ্যমে আপনি Word ডকুমেন্টে টেবিল যোগ করতে পারেন।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import java.io.FileOutputStream;
import java.io.IOException;
public class CreateTableInWord {
public static void main(String[] args) throws IOException {
// নতুন XWPFDocument (Word ডকুমেন্ট) তৈরি
XWPFDocument document = new XWPFDocument();
// টেবিল তৈরি করা
XWPFTable table = document.createTable();
// প্রথম সারি তৈরি
XWPFTableRow row = table.getRow(0);
XWPFTableCell cell1 = row.getCell(0);
cell1.setText("Cell 1");
// দ্বিতীয় সারি তৈরি
XWPFTableRow row2 = table.createRow();
XWPFTableCell cell2 = row2.getCell(0);
cell2.setText("Cell 2");
// Word ডকুমেন্ট ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("word_document_with_table.docx")) {
document.write(out);
}
System.out.println("Word ডকুমেন্টে টেবিল সফলভাবে তৈরি হয়েছে!");
}
}
এই কোডটি চালানোর পর একটি Word ডকুমেন্ট তৈরি হবে যেখানে একটি টেবিল থাকবে।
XWPFDocument ক্লাস ব্যবহার করে আপনি সহজেই Word ডকুমেন্ট তৈরি, সম্পাদনা, টেক্সট যোগ, ফন্ট স্টাইল পরিবর্তন, এবং টেবিল যোগ করতে পারেন। এটি Apache POI লাইব্রেরির একটি গুরুত্বপূর্ণ অংশ, যা .docx ফাইল ফরম্যাটের সাথে কাজ করার জন্য অত্যন্ত কার্যকরী। আপনার প্রয়োজন অনুসারে আপনি আরও বিভিন্ন ধরণের কাস্টমাইজেশন এবং ফরম্যাটিং করতে পারবেন।
common.read_more